package com.example.demo.dto.common;

import com.alibaba.fastjson.annotation.JSONField;

import java.util.List;

/**
 * 前后端通用的 Input / Output 数据交换Model
 */
public class ConsultantModel {
    //咨询师
    public static final String CONSULTANTINFO_NAME = "consultant";

    public static final String CONSULTANTINFOLISTNAME = "consultant_list";
    public static final String CONSULTANTID = "consultant_id";
    public static final String CONSULTANTIMID = "consultant_im_id";
    public static final String CONSULTANTIMSIG = "consultant_im_sig";
    public static final String CONSULTANTNAME = "consultant_name";
    public static final String CONSULTANTAGE = "consultant_age";
    public static final String CONSULTANTCOMPANY = "consultant_company";
    public static final String CONSULTANTEMAIL = "consultant_email";
    public static final String CONSULTANTTITLE = "consultant_title";
    public static final String SCHEDULE = "schedule";
    public static final String PHONENUM = "phone_num";
    public static final String PASSWORD = "password";
    public static final String GENDER = "gender";
    public static final String AVERAGEEVALUATION = "average_evaluation";
    public static final String ADVISED = "advised";
    public static final String BUSY = "busy";
    public static final String EVALUATESCORE = "evaluate_score";
    public static final String EVALUATETEXT = "evaluate_text";
    public static final String CONSULTTOTALMINUTES = "consult_total_minutes";
    public static final String ISSUPERVISOR = "is_supervisor";
    public static final String SUPERVISECOUNT = "supervise_count";
    public static final String SUPERVISETOTALMINUTES = "supervise_total_minutes";

    //咨询师ID
    private String id = "";

    //咨询师 IM SDK ID
    private String imId = "";

    //咨询师 IM Sig
    private String imSig = "";

    //咨询师姓名
    private String name = "";

    //咨询师年龄
    private String age = "";

    //咨询师所属公司
    private String company = "";

    //咨询师邮箱
    private String email = "";

    //咨询师头衔
    private String title = "";

    //咨询师排班
    private String schedule = "";

    //咨询师电话
    private String phoneNum = "";

    //咨询师登录密码
    private String password = "";

    //咨询师性别
    private String gender = "";

    //咨询师综合评价(星级)TODO 解析为INTEGER
    private String averageEvaluation = "";

    //是否被咨询过（这一点依照用户表项动态计算）TODO 解析为BOOLEAN
    private String advised = "false";

    //是否忙（存在未结束聊天即为忙）TODO 解析为BOOLEAN
    private String busy = "false";

    //用户评分(本次请求的用户对咨询师的评分) TODO 解析为INTEGER
    private String rate = "";

    //用户评价(本次请求的用户对咨询师的评价)
    private String evaluateText = "";

    // 咨询师咨询服务总时长
    private String totalMinutes = "";

    // 该咨询师是否是督导
    private String isSupervise = "false";

    // 以下字段仅在 Consultant 的 isSupervise 字段为 true时有实际意义。
    // 咨询师 指导次数
    private String superviseCount = "";

    // 咨询师 指导的时间
    private String superviseTotalMinutes = "";

    public ConsultantModel(){}


    @JSONField(name = CONSULTANTID)
    public String getId() {
        return id;
    }

    @JSONField(name = CONSULTANTID)
    public void setId(String id) {
        this.id = id;
    }

    @JSONField(name = CONSULTANTIMID)
    public String getImId() {
        return imId;
    }

    @JSONField(name = CONSULTANTIMID)
    public void setImId(String imId) {
        this.imId = imId;
    }

    @JSONField(name = CONSULTANTIMSIG)
    public String getImSig() {
        return imSig;
    }

    @JSONField(name = CONSULTANTIMSIG)
    public void setImSig(String imSig) {
        this.imSig = imSig;
    }

    @JSONField(name = CONSULTANTNAME)
    public String getName() {
        return name;
    }

    @JSONField(name = CONSULTANTNAME)
    public void setName(String name) {
        this.name = name;
    }

    @JSONField(name = CONSULTANTAGE)
    public String getAge() {
        return age;
    }

    @JSONField(name = CONSULTANTAGE)
    public void setAge(String age) {
        this.age = age;
    }

    @JSONField(name = CONSULTANTCOMPANY)
    public String getCompany() {
        return company;
    }

    @JSONField(name = CONSULTANTCOMPANY)
    public void setCompany(String company) {
        this.company = company;
    }

    @JSONField(name = CONSULTANTEMAIL)
    public String getEmail() {
        return email;
    }

    @JSONField(name = CONSULTANTEMAIL)
    public void setEmail(String email) {
        this.email = email;
    }

    @JSONField(name = CONSULTANTTITLE)
    public String getTitle() {
        return title;
    }

    @JSONField(name = CONSULTANTTITLE)
    public void setTitle(String title) {
        this.title = title;
    }

    @JSONField(name = SCHEDULE)
    public String getSchedule() {
        return schedule;
    }

    @JSONField(name = SCHEDULE)
    public void setSchedule(String schedule) {
        this.schedule = schedule;
    }

    @JSONField(name = CONSULTTOTALMINUTES)
    public String getTotalMinutes() {
        return totalMinutes;
    }

    @JSONField(name = CONSULTTOTALMINUTES)
    public void setTotalMinutes(String totalMinutes) {
        this.totalMinutes = totalMinutes;
    }

    @JSONField(name = PHONENUM)
    public String getPhoneNum() {
        return phoneNum;
    }

    @JSONField(name = PHONENUM)
    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }

    @JSONField(name = PASSWORD)
    public String getPassword() {
        return password;
    }

    @JSONField(name = PASSWORD)
    public void setPassword(String password) {
        this.password = password;
    }

    @JSONField(name = GENDER)
    public String getGender() {
        return gender;
    }

    @JSONField(name = GENDER)
    public void setGender(String gender) {
        this.gender = gender;
    }

    @JSONField(name = AVERAGEEVALUATION)
    public String getAverageEvaluation() {
        return averageEvaluation;
    }

    @JSONField(name = AVERAGEEVALUATION)
    public void setAverageEvaluation(String averageEvaluation) {
        this.averageEvaluation = averageEvaluation;
    }

    @JSONField(name = ADVISED)
    public String getAdvised() {
        return advised;
    }

    @JSONField(name = ADVISED)
    public void setAdvised(String advised) {
        this.advised = advised;
    }

    @JSONField(name = BUSY)
    public String getBusy() {
        return busy;
    }

    @JSONField(name = BUSY)
    public void setBusy(String busy) {
        this.busy = busy;
    }

    @JSONField(name = EVALUATESCORE)
    public String getRate() {
        return rate;
    }

    @JSONField(name = EVALUATESCORE)
    public void setRate(String rate) {
        this.rate = rate;
    }

    @JSONField(name = EVALUATETEXT)
    public String getEvaluateText() {
        return evaluateText;
    }

    @JSONField(name = EVALUATETEXT)
    public void setEvaluateText(String evaluateText) {
        this.evaluateText = evaluateText;
    }

    @JSONField(name = ISSUPERVISOR)
    public String getIsSupervise() {
        return isSupervise;
    }

    @JSONField(name = ISSUPERVISOR)
    public void setIsSupervise(String isSupervise) {
        this.isSupervise = isSupervise;
    }

    @JSONField(name = SUPERVISECOUNT)
    public String getSuperviseCount() {
        return superviseCount;
    }

    @JSONField(name = SUPERVISECOUNT)
    public void setSuperviseCount(String superviseCount) {
        this.superviseCount = superviseCount;
    }

    @JSONField(name = SUPERVISETOTALMINUTES)
    public String getSuperviseTotalMinutes() {
        return superviseTotalMinutes;
    }

    @JSONField(name = SUPERVISETOTALMINUTES)
    public void setSuperviseTotalMinutes(String superviseTotalMinutes) {
        this.superviseTotalMinutes = superviseTotalMinutes;
    }

    @Override
    public String toString() {
        return "ConsultantModel{" +
                "id='" + id + '\'' +
                ", imId='" + imId + '\'' +
                ", imSig='" + imSig + '\'' +
                ", name='" + name + '\'' +
                ", phoneNum='" + phoneNum + '\'' +
                ", password='" + password + '\'' +
                ", averageEvaluation='" + averageEvaluation + '\'' +
                ", advised='" + advised + '\'' +
                ", busy='" + busy + '\'' +
                ", rate='" + rate + '\'' +
                ", evaluateText='" + evaluateText + '\'' +
                '}';
    }
}
